A wide variety of implantable medical devices (IMDs) that employ electronic circuitry for providing electrical stimulation of body tissue and/or monitoring a physiologic condition are known in the art. A number of IMDs of various types are known in the art for delivering electrical stimulating pulses to selected body tissue and typically comprise an implantable pulse generator (IPG) for generating the stimulating pulses under prescribed conditions and at least one lead bearing a stimulation electrode for delivering the stimulating pulses to the selected tissue. For example, cardiac pacemakers and implantable cardioverter/defibrillators (ICDs) have been developed for maintaining a desired heart rate during episodes of bradycardia and for applying cardioversion or defibrillation therapies to the heart upon detection of serious arrhythmias, respectively. Other nerve, brain, muscle and organ tissue stimulating medical devices are also known for treating a variety of conditions.
The earliest implantable pacemaker IPGs employed very simple analog circuit oscillators formed by discrete transistors and other circuit components and were very short-lived and electrically inefficient. The incorporation of digital discrete ICs for logic and memory functions arrayed on circuit substrates and forms of hybrid circuits enabled higher electrical efficiency and set the stage for the development of more sophisticated operating functions, programmability of operating modes and parameters, data storage and telemetry of stored data as embodied in the MEDTRONIC.RTM. SPECTRAX.RTM. pacemaker IPGs.
Over the past 30 years, such IMDs have evolved, from relatively bulky, crude, and short-lived devices providing simple stimulation therapies and monitoring functions to complex, long-lived, and miniaturized IMDs providing a wide variety of pacing, cardioversion and defibrillation therapies and/or monitoring functions. Numerous other programmable functions have been incorporated including enhanced capacity to detect and discriminate cardiac arrhythmias, to store data and to uplink telemetry data related to arrhythmia episodes and applied therapies (if any). Moreover, the capability of interrogating stored device data and real time telemetry of physiologic data, e.g. the real time cardiac EGM and blood pressure and the like, have been incorporated into such IMDs.
Over the same time period, numerous improvements have been made in leads and sensors that are attached to the IMDs which provide for more reliable sensing of physiologic signals and delivery of therapies in therapy delivery IMDs. For example, improved pacing and sensing leads and cardioversion/defibrillation leads and electrodes that have enabled sensing the atrial and ventricular EGM and the delivery of pacing and cardioversion/defibrillation energy at specific selected upper and lower heart chambers. These improvements have led to dramatic reductions in the delivered pacing and shock energy required to capture and cardiovert or defibrillate a heart chamber, respectively. Moreover, in ICD IPGs, the high voltage output circuitry has been improved in many respects to provide monophasic, bi-phasic, or multi-phase cardioversion/defibrillation shock or pulse waveforms that are efficacious, sometimes with particular combinations of cardioversion/defibrillation electrodes, in lowering the required shock energy to cardiovert or defibrillate the heart.
It is widely understood that such IMDs need to be small enough to be comfortably implanted subcutaneously without being unduly uncomfortable to the patient or cosmetically apparent and must be energy efficient enough to function reliably for many years. Throughout the course of development of these improvements, successive generations of such IMDs have incorporated improved, miniaturized electronic ICs and hybrid circuitry that are powered by long-lived, low current output, low voltage batteries. Most recently, a wide number of IMD system architectures have been developed that incorporate custom microcomputers comprising a microprocessor, RAM and ROM and related elements of a typical microcomputer and other control logic, memory and signal processing circuitry. Such microcomputer based system architectures typically are embodied in two or more ICs that are mounted to a substrate and electrically coupled together.
Improvements in such ICs has enabled the increased capability to store greater and greater amounts of data in IMD memory about the IMD itself, its implantation and history of operation, its programmed operating modes and parameter values, and data collected by the IMD and stored in internal memory. Such stored data includes device specific data that is either stored by the manufacturer, stored by the physician, or is accumulated by the IMD following a prescribed data collection operating routine. The data stored at manufacture can include device identification by model, serial number and date of manufacture and device specifications. Historic data is entered by the physician through use of an external programmer to downlink telemeter data to be stored in IMD memory, e.g., patient identification, identification of associated devices, e.g., sensors or leads or the like, coupled with the IMD at implant, operating modes and parameters programmed at specific follow-up dates, etc. The IMDs also monitor device states and conditions, e.g., battery voltage and lead impedance and provide uplink telemetry of such data when interrogated. Such IMDs have also been designed with memory capacity to store a great deal of physiologic data collected either continuously or upon satisfaction of data storage criteria. In therapy delivery IMDs, such data includes physiologic data related to the detection of a physiologic condition requiring delivery of a therapy, the therapy that was delivered, and the response to the delivered therapy.
For example, implantable physiologic monitors, e.g. the MEDTRONIC.RTM. Chronicle.TM. implantable hemodynamic monitor can store cardiac blood pressure data that for later uplink telemetry to an external programmer receiver in order to monitor the cardiac function of patients suffering from heart failure. The MEDTRONIC.RTM. Reveal.TM. insertable loop recorder is a form of implantable monitor that is intended to be implanted subcutaneously and has a pair of sense electrodes spaced apart on the device housing that are used to pick up the cardiac far field EGM which in this case is also characterized as a "subcutaeous ECG". The Reveal.TM. insertable loop recorder samples and records one or more segment (depending on the programmed operating mode) of such far field EGM or subcutaneous ECG signals when the patient feels the effects of an arrhythmic episode and activates the recording function by applying a magnet over the site of implantation. For example, the storage of a programmable length segment of the EGM can be initiated when the patient feels faint due to a bradycardia or tachycardia or feels the palpitations that accompany certain tachycardias. The memory capacity is limited, and so the segments of such EGM episode data that are stored in memory can be written over with new EGM episode data when the patient triggers storage and the memory is full. The most recently stored segment or segments of episode data is transmitted via an uplink telemetry transmission to an external programmer when a memory interrogation telemetry session is initiated by the physician or medical care provider using the programmer. Aspects of the Reveal.TM. insertable loop recorder are disclosed in commonly assigned PCT publication WO98/02209.
A great deal of data storage capacity has also been incorporated into cardiac pacemaker IPGs and ICD IPGs. The MEDTRONIC.RTM. family of Thera.RTM. multi-programmable single and dual chamber pacemaker IPGs provide for manufacturing, physician entered, and episodic EGM data storage of the types listed above for uplink telemetry to a MEDTRONIC.RTM. Model 9790C external programmer, for example. The MEDTRONIC.RTM. GEM 7227 single chamber or GEM DR 7271 dual chamber ICD IPGs are also programmable in operating modes and parameter values and store similar data that is interrogatable employing the MEDTRONIC.RTM. Model 9790C external programmer, for example. These ICD IPGs also provide for the uplink telemetry of data related to battery condition, lead impedance, high voltage (HV) capacitor charging time and charge energy, EGM data preceding and following the most recently detected tachyarrhythmia episode, the most recently delivered cardioversion/defibrillation therapy, and episode log historic data related to detections of tachyarrhythmia episodes and therapies delivered or aborted. A number of counters and timers accumulate episodic data related to heart rate, detected arrhythmias, successful and unsuccessful delivered therapies, etc. Memory capacity is provided in the single chamber and dual chamber ICD IPGs for storing digitized EGM data of one or more tachyarrhythmia detection episodes having programmable episode length times.
The EGM episode data and other data stored in such IMDs (herein referred to as IMD data) is intended to be encoded and telemetered out in an uplink telemetry transmission to an external medical device, commonly referred to as a programmer, in response to an interrogation command received from the programmer in a downlink telemetry transmission. Many types of RF telemetry systems have been or currently are used for uplink and downlink telemetry.
An example of a pulse interval modulation (PIM) telemetry system used for transmitting analog and digital data, individually and serially, from an implanted pacemaker IPG to a remote programmer is disclosed in U.S. Pat. No. 4,556,063, incorporated herein by reference. A further example of a pacemaker programmer for use with programmable cardiac pacemakers having RF telemetry capabilities is disclosed in U.S. Pat. No. 4,550,370, incorporated herein by reference. A further example of a pulse width modulation (PWM) telemetry system for transmitting binary "1" and "0" indicating pulse widths from an implanted cardiac pacemaker to an external programmer is described in U.S. Pat. No. 4,571,589, incorporated herein by reference.
An extensive description of the historical development of telemetry transmission formats and systems for both uplink telemetry of data from the implanted medical device to an external telemetry receiver and programmer and for downlink transmission of programming and telemetry trigger commands is set forth in the above-referenced '851 application. Commonly assigned U.S. Pat. No. 5,127,404 is among the first of a group of commonly assigned patents that disclose frame based, pulse position modulated (PPM), IMD data formatting for uplink telemetry transmission. This frame based, uplink telemetry format and system are incorporated into MEDTRONIC.RTM. Model 9760, 9766, 9770, and 9790C programmers.
The uplink telemetry RF pulses generated by the frame based, PPM telemetry transmitter are generally constant in pulse width. A fixed trigger or telemetry clock pulse is applied to the implanted device antenna circuit which momentarily couples battery voltage to the antenna L-C circuit. The L-C circuit responds by "ringing", generating a burst of damped sinusoidal, decaying amplitude RF cycles at the RF frequency, typically 175 kHz constituting the uplink telemetry RF pulse. The L-C time constant requires a minimum separation between telemetry clock pulses to ensure that the damped sinusoidal RF burst cycle amplitudes have decayed to baseline to ensure that successive RF pulses, and the PPM spacing between them, can be decoded in the telemetry receiver. The downlink telemetry RF pulses are generated in somewhat the same manner and share the same general characteristics.
The IMD data stored in the IMD memory registers is formatted as taught in the commonly assigned '404 patent and transmitted in an uplink telemetry transmission in response to a downlink telemetry interrogation command transmitted by the external programmer. The frame based, PPM telemetry system increases the data transmission rate significantly over the simple bit stream telemetry transmission schemes using either PWM or PPM or PIM to distinguish a "1" from a "0" while diminishing consumption of battery current. A great deal of data may be encoded in a single telemetry frame and transmitted within the telemetry frame period defined by a discrete number of internal clock cycles. However, the L-C time constant and attendant minimum separation distance required between the IMD and external programmer antennas does limit the telemetry frame defining telemetry clock frequency. Moreover, in a "noisy" environment, stray electrical signals can be picked up by the RF head antenna and can corrupt the uplink telemetered data that is demodulated and decoded in the external programmer receiver. Slight movements of the programming head over the site of implantation of the IMD can also introduce noise or cause signal loss or drop out during an uplink telemetry transmission.
The above-incorporated '404 patent and a number of other IMD telemetry patents disclose methods and apparatus for minimizing the corruption of data transmitted from the IMD to the external programmer due to such noise and signal loss. In addition, error detection schemes are disclosed that are used in order to ensure that any such corruption of the data that occurs during or because of a faulty uplink telemetry transmission is not mistaken as accurate data stored in the IMD. A serial CRC encoder within the frame formatting hardware of the IMD as shown in the above-incorporated '404 patent. The CRC encoder operates to calculate and append a CRC to a telemetry packet comprising at least two or more frames of uplink telemetered data as described in the above-incorporated '404 patent, for example, and a number of other commonly assigned telemetry patents. The use of telemetry CRC is also described in further U.S. Pat. Nos. 4,562,841 and 5,342,408, incorporated herein by reference. The calculation of a telemetry CRC for uplink and downlink telemetry transmission and error checking of telemetry packets comprising a plurality of telemetry data frames is disclosed in the '408 patent.
During uplink telemetry transmissions, the external programmer that receives the uplink telemetry transmission recalculates a CRC and compares it to the uplink telemetered, internally calculated, CRC to determine if an error in uplink telemetry transmission or reception has occurred. If an error is determined, the external programmer can command the IMD to repeat the transmission. Typically, the external programmer performs these functions in a software algorithm since power conservation and memory capacity are not of concern in such external medical devices.
Similar error checking functions are incorporated in wholly external medical telemetry systems that communicate and transmit data between externally worn patient monitors and a central station as described, for example, in U.S. Pat. Nos. 5,307,817, 5,558,638, 5,748,103 and 5,767,791, all incorporated herein by reference.
While these telemetry CRC functions are useful in eliminating mistaken acceptance of data corrupted in the course of the uplink telemetry transmission, it cannot correct or account for errors in or corruption of data stored in IMD memory prior to its interrogation, retrieval and formatting for uplink telemetry transmission. The above presented listing of storage capabilities is illustrative of the increased complexity and capacity of such IMDs. The ability to store ever increasing amounts and types of data depends on continuing improvements in the memory, typically RAM, which increase data storage capacity in a given IC die size and decrease energy requirements for reading and writing such data. However, as memory density increases, the probability that "soft" errors occur increases. Soft errors occur when a given memory cell spontaneously changes state from "1" as initially written to "0" or vice versa. "Hard" errors occur when a given memory cell cannot be written to change state, and such cells exhibiting hard errors can be detected during a data storage write operation and bypassed in favor of a good cell. Currently, there is no provision for determining or accounting for soft errors in data cells of IMD memory employed for the storage of such IMD data, and the likelihood that at least some data that could be of critical importance to the well being of the patient in which the IMD is implanted will become corrupted is increasing as memory is increased.
Moreover, if such IMD data within a data block is corrupted, it is not easy to determine just which data block is corrupted and where the defective byte or bytes of data are located in the data block. An error checking scheme is disclosed in U.S. Pat. No. 5,607,458 which involves providing a parity bit for every 8-bit data word stored in RAM or ROM that is periodically checked by a watchdog circuit.
It is a principal object of the present invention to overcome these deficiencies in the storage and maintenance of data in memory of an IMD.